package com.cakeshop.service;

import com.cakeshop.model.Comment;

import java.util.List;

/**
 * @author nineice
 * @date 2021/8/23 21:23
 */
public interface CommentService {

    /**
     * 为评论点赞
     *
     * @param comment: 评论
     * @param flag:    flag < 0时,执行减少操作;<br/> flag > 0时,执行增加操作;
     */
    void likes(Comment comment, int flag);

    /**
     * 为评论点踩
     *
     * @param comment: 评论
     * @param flag:    flag < 0时,执行减少操作;<br/> flag > 0时,执行增加操作;
     */
    void noLikes(Comment comment, int flag);

    /**
     * 删除评论
     *
     * @param comment: 评论
     */
    void deleteComment(Comment comment);

    /**
     * 添加评论
     *
     * @param comment: 评论
     */
    void appendComment(Comment comment);


    /**
     * 回复评论
     *
     * @param id:    被回复的评论id
     * @param reply: 回复的评论
     */
    void appendReply(int id, Comment reply);

    /**
     * 获取所有评论
     *
     * @return List<Comment>
     */
    List<Comment> getAllComment();

    /**
     * 获取某一条评论
     *
     * @param id : 评论id
     * @return Comment
     */
    Comment getCommentById(int id);

}
